insert into asm_delib_6_12_002 
select rownum rn,t.* from(
select distinct
--CODICE_CONTRATTO, STATO_CONTRATTO, MOVIMENTO, periodo,
'' "CodFlusso",
ud.piva  "PIvaUtente",
PIvaDistributore  "PIvaDistributore",
b.dp "CodContrDisp",
a.Pod "Pod",
decode(movimento,'RASC',DataMisura-1,'RACC',DataMisura-1,DataMisura) "DataMisura",
--Trattamento  "Trattamento",
--Tensione "Tensione",
--PotContrImp "PotContrImp",
--PotDisp "PotDisp",
--Ka "Ka",
--Kr  "Kr",
--Kp "Kp",
--MatrAtt   "MatrAtt",
--MatrRea "MatrRea",
--MatrPot  "MatrPot",
--to_char(DataInstMisAtt,'dd/mm/yyyy') "DataInstMisAtt",
--to_char(DataInstMisRea,'dd/mm/yyyy')  "DataInstMisRea",
--to_char(DataInstMisPot,'dd/mm/yyyy') "DataInstMisPot",
--CifreAtt  "CifreAtt",
--CifreRea  "CifreRea",
--CifrePot  "CifrePot",
--GruppoMis "GruppoMis",
--Forfait "Forfait",
--Raccolta "Raccolta",
TipoDato "TipoDato",
Validato  "Validato",
decode (a.trattamento,'M' ,EaMc,null)  "EaM",
decode (a.trattamento,'M' ,ErMc,null) "ErM",
decode (a.trattamento,'M' ,PotMc,null)"PotM",
decode (a.trattamento,'F' ,EaF1c,null) "EaF1",
decode (a.trattamento,'F' ,EaF2c,null) "EaF2",
decode (a.trattamento,'F' ,EaF3c,null) "EaF3",
decode (a.trattamento,'F' ,ErF1c,null) "ErF1",
decode (a.trattamento,'F' ,ErF2C,null) "ErF2",
decode (a.trattamento,'F' ,ErF3C,null) "ErF3",
decode (a.trattamento,'F' ,PotF1c,null) "PotF1",
decode (a.trattamento,'F' ,PotF2,null) "PotF2",
decode (a.trattamento,'F' ,PotF3c,null) "PotF3"



from asm_delib_6_12_001 A,asm_delib_6_12_EXCEL B,ASM_DELIBERA_16208_UDD ud
where 
 A.POD=B.POD
and stato_contratto <> 'W'
--and
--to_date(case when to_char(datamisura,'dd/mm/yyyy') ='00/00/0000' then '01/01/2000' else 
  
--case when cm.CODICE_MODELLO_CONTATORE='R990' and  DATA_MOVIMENTO=last_day(DATAmisura) 
          --                  then to_char(DATAmisura+1,'dd/mm/yyyy') else to_char(datamisura,'dd/mm/yyyy') end end,'dd/mm/yyyy')
  and datamisura                          
                                  between add_months (to_date(^DATA SWITCH per dati storici dd/mm/aaaa;A;ALFABETICO;1^^,'dd/mm/yyyy'),-13)+1 
  and  to_date(^DATA SWITCH per dati storici dd/mm/aaaa;A;ALFABETICO;1^^,'dd/mm/yyyy') 
  
  and ud.udd=b.dp
 and (
nvl(EaMc,0) +
nvl(ErMc,0)+
nvl(PotMc,0)+
nvl(EaF1c,0) +
nvl(EaF2c,0) +
nvl(EaF3c,0)+
nvl(ErF1c,0) +
nvl(ErF2C,0) +
nvl(ErF3C ,0)+
nvl(PotF1c,0) +
nvl(PotF2 ,0)+
nvl(PotF3c,0) )>0 --or movimento in ('L','IA')

 order by a.Pod,decode(movimento,'RASC',DataMisura-1,'RACC',DataMisura-1,DataMisura)
)t
